The idea of software-defined networking (Software-defined networking, SDN) is to separate a control plane from a forwarding plane of a network device, so that a network hardware device such as a router retains only the forwarding plane and control rights of the control plane are given to a controller, thereby implementing separation between software and hardware. In this network structure, the controller (Controller) controls all forward nodes on the network. To add a service, a user only needs to operate the controller. In addition, the controller can compute, according to a service requirement of the user, a forwarding path needed by each service, that is, a Multiprotocol Label Switching (MultiProtocol Label Switching, MPLS) forwarding path, generate an MPLS forward entry, and then deliver the MPLS forward entry to each forward node that the MPLS forwarding path passes through. After receiving the MPLS forward entry, the forward node can perform MPLS packet forwarding according to the MPLS forward entry.
In the prior art, the MPLS forward entry of each forward node is delivered in a point-to-point manner by the controller. Therefore, a technical problem exists: for each MPLS forwarding path, the controller needs to deliver, to each forward node in the MPLS forwarding path, an MPLS forward entry corresponding to the forward node. When there are many forward nodes on the network and the path is complex, the controller frequently interacts with the forward nodes, efficiency of delivering the MPLS forward entries is relatively low, and a large amount of bandwidth of the controller is occupied.